From b878353f0b52781b736bec5327ba15868e924928 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 3 Sep 2021 14:37:52 -0700 Subject: [PATCH] gdk/wayland/surface: Move `server_decoration` to `GdkWaylandToplevel` --- gdk/wayland/gdksurface-wayland.c | 33 +++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c index dc0b18779d..1f9fda11bc 100644 --- a/gdk/wayland/gdksurface-wayland.c +++ b/gdk/wayland/gdksurface-wayland.c @@ -105,7 +105,6 @@ struct _GdkWaylandSurface struct gtk_surface1 *gtk_surface; struct wl_egl_window *egl_window; struct zxdg_exported_v1 *xdg_exported; - struct org_kde_kwin_server_decoration *server_decoration; } display_server; struct wl_event_queue *event_queue; @@ -250,6 +249,8 @@ struct _GdkWaylandToplevel GdkWaylandSurface parent_instance; GdkWaylandToplevel *transient_for; + + struct org_kde_kwin_server_decoration *server_decoration; }; typedef struct @@ -2238,36 +2239,38 @@ void gdk_wayland_toplevel_announce_csd (GdkToplevel *toplevel) { GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (GDK_SURFACE (toplevel))); - GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (toplevel); + GdkWaylandToplevel *toplevel_wayland; g_return_if_fail (GDK_IS_WAYLAND_TOPLEVEL (toplevel)); + toplevel_wayland = GDK_WAYLAND_TOPLEVEL (toplevel); if (!display_wayland->server_decoration_manager) return; - impl->display_server.server_decoration = - org_kde_kwin_server_decoration_manager_create (display_wayland->server_decoration_manager, - impl->display_server.wl_surface); - if (impl->display_server.server_decoration) - org_kde_kwin_server_decoration_request_mode (impl->display_server.server_decoration, - ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT); + toplevel_wayland->server_decoration = + org_kde_kwin_server_decoration_manager_create (display_wayland->server_decoration_manager, + gdk_wayland_surface_get_wl_surface (GDK_SURFACE (toplevel_wayland))); + if (toplevel_wayland->server_decoration) + org_kde_kwin_server_decoration_request_mode (toplevel_wayland->server_decoration, + ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT); } void gdk_wayland_toplevel_announce_ssd (GdkToplevel *toplevel) { GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (GDK_SURFACE (toplevel))); - GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (toplevel); + GdkWaylandToplevel *toplevel_wayland; g_return_if_fail (GDK_IS_WAYLAND_TOPLEVEL (toplevel)); + toplevel_wayland = GDK_WAYLAND_TOPLEVEL (toplevel); if (!display_wayland->server_decoration_manager) return; - impl->display_server.server_decoration = - org_kde_kwin_server_decoration_manager_create (display_wayland->server_decoration_manager, - impl->display_server.wl_surface); - if (impl->display_server.server_decoration) - org_kde_kwin_server_decoration_request_mode (impl->display_server.server_decoration, - ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER); + toplevel_wayland->server_decoration = + org_kde_kwin_server_decoration_manager_create (display_wayland->server_decoration_manager, + gdk_wayland_surface_get_wl_surface (GDK_SURFACE (toplevel_wayland))); + if (toplevel_wayland->server_decoration) + org_kde_kwin_server_decoration_request_mode (toplevel_wayland->server_decoration, + ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER); } gboolean -- 2.30.2